package com.mps.shortLink.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mps.shortLink.admin.dao.entity.GroupDO;
import com.mps.shortLink.admin.dto.req.ShorLinkGroupSortReqDTO;
import com.mps.shortLink.admin.dto.req.ShorLinkGroupUpdateReqDTO;
import com.mps.shortLink.admin.dto.resp.ShortLinkGroupRespDTO;

import java.util.List;

/**
 * 短链接接口层
 */
public interface GroupService extends IService<GroupDO> {
    /**
     * 新增短链接分组
     * @param groupName 短链接分组名称
     */
    public void saveGroup(String groupName);

    /**
     * 新增短链接分组
     * @param username 用户名
     * @param groupName 短链接分组名称
     */
    public void saveGroup(String username, String groupName);

    /**
     * 查询用户短链接分组集合
     * @return
     */
    public List<ShortLinkGroupRespDTO> listGroup();

    /**
     * 修改短链接分组
     * @param requestParam 修改短链接分组参数
     */
    public void updateGroup(ShorLinkGroupUpdateReqDTO requestParam);

    /**
     * 删除短链接分组
     * @param gid
     */
    public void deleteGroup(String gid);

    /**
     * 短链接分组排序
     * @param requestParam
     */
    public void sortGroup(List<ShorLinkGroupSortReqDTO> requestParam);
}
